首先找到你的MySQL配置文件my.cnf

$ locate my.cnf
> /etc/my.cnf

然后修改它,

$ nano /etc/my.cnf

[client]里增加三行:

host = localhost
user = root
password = yourpassword
本来不需要这些操作,直接把用户名密码写到备份脚本里就可以,
但是 MySQL 5.6 之后在命令行里写密码会出现警告。

然后创建脚本文件mybak.sh

$ nano ~/mybak.sh

文件内容如下:

#!/bin/bash

root="/data/backup/"
dir=`date "+%y%m%d/"`

mkdir -p $root$dir
cd $root$dir

/usr/local/mysql/bin/mysqldump db1 > db1.sql
/usr/local/mysql/bin/mysqldump db2 > db2.sql
/usr/local/mysql/bin/mysqldump db3 > db3.sql

记得给它执行的权限:

$ chmod +x ~/mybak.sh

然后再修改crontab

$ export EDITOR=nano
$ crontab -e

export EDITOR=nano 将nano设置为默认编辑器

添加一行

0 1 * * * ~/mybak.sh >> ~/mybak.log 2>&1 &

意思是每天1:00的时候执行~/mybak.sh,并且将所有输出记录到~/mybak.log


王道中强流
1.7k 声望44 粉丝

在福州“土生土长”的 1986 年老程序员一枚,专注 Web 技术三十年。